sei sul sito di Giovanni Fraterno
Mentre la cultura
occidentale utilizza un sistema di numerazione decimale, il computer basa il
proprio funzionamento su un sistema di numerazione
binario, basato cioè su due soli numeri: l'uno e lo zero.
Ciò per un
motivo fondamentale: gli elaboratori sono costituiti da un
insieme di circuiti elettronici che conoscono
solo due possibili stati: acceso (c'è
corrente) o spento (non c'è corrente),
proprio come le comuni lampadine.
Sono quindi accettabili solo
due valori, convenzionalmente fissati in 0 e 1, valori abbinabili al cosiddetto bit.
Il passaggio
di corrente è contraddistinto dal numero uno, mentre l'assenza di corrente è rappresentata con lo zero.
Mediante combinazioni di vari bit è possibile rappresentare,
in una maniera comprensibile anche per il computer, l'insieme di lettere, numeri e
simboli normalmente utilizzati.
Per soddisfare tutte le
esigenze di rappresentazione si è scelto di utilizzare 8
bit per l'identificazione di un carattere in modo da disporre
di 2^8 = 256 configurazioni.
Per esempio la lettera A può essere rappresentata
come 00000001, la lettera B come 00000010,
la lettera C come 00000100,
e così via, fino a codificare tutti i possibili caratteri.
Un gruppo di 8 bit, cioè la rappresentazione binaria di un carattere, prende il
nome di byte.
Per fare in modo che
computer diversi tra loro attribuiscano ad ogni
combinazione lo stesso significato, è stato generalmente adottato il codice ASCII (American Standard Information
Interchange).
Di seguito viene riportata la tabella ASCII
ristretta, versione in cui vengono usati solo
7 degli 8 bit disponibili.
Per tale motivo sono esclusi
alcuni caratteri come per esempio le vocali
accentate.
I codici da 0 a 30 sono
generalmente utilizzati come codici di controllo
e non sono quindi di uso comune.
Di seguito la tabella ASCII.
Carattere
|
Combinazione
di bit |
Equivalente
decimale |
Carattere
|
Combinazione
di bit |
Equivalente
decimale |
spazio
|
0100000 |
32 |
P |
1010000 |
80 |
! |
0100001 |
33 |
Q |
1010001 |
81 |
" |
0100010 |
34 |
R |
1010010 |
82 |
* |
0100011 |
35 |
S |
1010011 |
83 |
$ |
0100100 |
36 |
T |
1010100 |
84 |
% |
0100101 |
37 |
U |
1010101 |
85 |
& |
0100110 |
38 |
V |
1010110 |
86 |
' |
0100111 |
39 |
W |
1010111 |
87 |
( |
0101000 |
40 |
X |
1011000 |
88 |
) |
0101001 |
41 |
Y |
1011001
|
89 |
* |
0101010
|
42 |
Z |
1011010
|
90 |
+ |
0101011
|
43 |
[ |
1011011
|
91 |
, |
0101100
|
44 |
\ |
1011100
|
92 |
- |
0101101
|
45 |
] |
1011101
|
93 |
. |
0101110
|
46 |
^ |
1011110
|
94 |
/ |
0101111
|
47 |
_ |
1011111
|
95 |
0 |
0110000
|
48 |
` |
1100000
|
96 |
1 |
0110001
|
49 |
a |
1100001
|
97 |
2 |
0110010
|
50 |
b |
1100010
|
98 |
3 |
0110011
|
51 |
c |
1100011
|
99 |
4 |
0110100
|
52 |
d |
1100100
|
100
|
5 |
0110101
|
53 |
e |
1100101 |
101 |
6 |
0110110 |
54 |
f |
1100110 |
102 |
7 |
0110111 |
55 |
g |
1100111 |
103 |
8 |
0111000 |
56 |
h |
1101000
|
104
|
9 |
0111001
|
57 |
i |
1101001
|
105
|
: |
0111010
|
58 |
j |
1101010
|
106
|
; |
0111011
|
59 |
k |
1101011 |
107 |
< |
0111100 |
60 |
l |
1101100 |
108 |
= |
0111101 |
61 |
m |
1101101 |
109 |
> |
0111110 |
62 |
n |
1101110
|
110
|
? |
0111111
|
63 |
o |
1101111
|
111
|
@ |
1000000
|
64 |
p |
1110000
|
112
|
A |
1000001 |
65 |
q |
1110001 |
113 |
B |
1000010 |
66 |
r |
1110010 |
114 |
C |
1000011 |
67 |
s |
1110011 |
115 |
D |
1000100 |
68 |
t |
1110100 |
116 |
E |
1000101 |
69 |
u |
1110101
|
117
|
F |
1000110
|
70 |
v |
1110110
|
118
|
G |
1000111 |
71 |
w |
1110111 |
119 |
H |
1001000 |
72 |
x |
1111000 |
120 |
I |
1001001 |
73 |
y |
1111001 |
121 |
J |
1001010 |
74 |
z |
1111010 |
122 |
K |
1001011 |
75 |
{ |
1111011 |
123 |
L |
1001100 |
76 |
| |
1111100 |
124 |
M |
1001101
|
77 |
} |
1111101
|
125
|
N |
1001110
|
78 |
~ |
1111110
|
126
|
O |
1001111
|
79 |
|
|
|
Come si è visto ogni carattere occupa uno spazio di memoria pari ad
un byte, cioè 8 bit.
L'unità
di misura è quindi il byte (B), mentre
i suoi multipli sono
il Kilobyte (KB =
2^10 = 1024 byte)
il Megabyte (MB =
2^20 = 1024*1024 byte)
il Gigabyte (GB =
2^30 = 1024*1024*1024 byte)
il Terabyte (TB =
2^40 = 1024*1024*1024*1024 byte)
La memoria RAM in genere è espressa in Megabyte, mentre i dischi fissi
misurano alcuni Gigabyte.
Vengono spesso citati, nell’informatica, i numeri esadecimali.
In realtà i computer
lavorano esclusivamente in numeri binari.
Per comodità
i programmatori usano rappresentare sia i numeri decimali (con 10 cifre) che i
numeri binari (con due cifre) con numeri esadecimali.
Questi hanno sedici cifre:
le dieci cifre da 0 a 9 e quindi le sei lettere da A a F.
Lo 0
esadecimale equivale al valore decimale 0,
mentre la F esadecimale equivale al valore decimale 15.
L’avere inventato una
rappresentazione dei numeri usando 16 cifre, rende i
numeri più compatti.
Così il numero decimale 100, rappresentato dal binario 1100100, in esadecimale è 64.
Dal punto di vista
dell’utente ciò non ha alcuna rilevanza.